<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>des_tables</title>

    <meta name="viewport" content="width=device-width, initial-scale=1.0" />

    <style>
      code[class*='smartperf-'],
      pre[class*='smartperf-'] {
        color: #333333;
        background: none;
        font-family: Helvetica;
        line-height: 1.6;
        text-align: left;
        white-space: pre;
        -moz-tab-size: 9;
        -o-tab-size: 9;
        tab-size: 8;
        -webkit-hyphens: none;
        -moz-hyphens: none;
        -ms-hyphens: none;
        hyphens: none;
      }

      /* Code blocks */
      pre[class*='smartperf-'] {
        padding: 0.9em;
        overflow: auto;
        border-radius: 2px;
        background: #f5f5f4;
      }

      /* Inline code */
      :not(pre) > code[class*='smartperf-'] {
        white-space: normal;
        background: #fcf8f8;
        padding: 1px 0.2em;
        border-radius: 1px 0.3em;
      }

      .tk.comment,
      .tk.blockquote {
        color: #8c918c;
      }

      .tk.cdata {
        color: #183898;
      }

      .tk.doctype,
      .tk.punctuation,
      .tk.variable,
      .tk.macro.property {
        color: #424242;
      }

      .tk.operator,
      .tk.important,
      .tk.keyword,
      .tk.rule,
      .tk.builtin {
        color: #b71d65;
      }

      .tk.string,
      .tk.url,
      .tk.regex,
      .tk.attr-value {
        color: #16338d;
      }

      .tk.property,
      .tk.number,
      .tk.boolean,
      .tk.entity,
      .tk.atrule,
      .tk.constant,
      .tk.symbol,
      .tk.command,
      .tk.code {
        color: #037aa2;
      }

      .tk.tag,
      .tk.selector,
      .tk.prolog {
        color: #69ad62;
      }

      .tk.function,
      .tk.namespace,
      .tk.pseudo-element,
      .tk.class,
      .tk.class-name,
      .tk.pseudo-class,
      .tk.id,
      .tk.url-reference .tk.variable,
      .tk.attr-name {
        color: #775d9d;
      }

      .tk.entity {
        cursor: help;
      }

      .tk.title,
      .tk.title .tk.punctuation {
        font-weight: bold;
        color: #1a3773;
      }

      .tk.list {
        color: #f56940;
      }

      .tk.inserted {
        background-color: #eaffea;
        color: #509b2f;
      }

      .tk.deleted {
        background-color: #fae1e1;
        color: #ad2d06;
      }

      .tk.bold {
        font-weight: bolder;
      }

      .tk.italic {
        font-style: normal;
      }

      /* JSON */
      .smartperf-json .tk.property {
        color: #19358c;
      }

      .smartperf-markup .tk.tag .tk.punctuation {
        color: #2c2b2b;
      }

      /* CSS */
      code.smartperf-css,
      .smartperf-css .tk.function {
        color: #047ca4;
      }

      /* YAML */
      .smartperf-yaml .tk.atrule {
        color: #609b5a;
      }

      code.smartperf-yaml {
        color: #153491;
      }

      /* Ruby */
      .smartperf-ruby .tk.function {
        color: #3f3e3e;
      }

      /* Markdown */
      .smartperf-markdown .tk.url {
        color: #6e5298;
      }

      /* Makefile */
      .smartperf-makefile .tk.symbol {
        color: #6c5393;
      }

      .smartperf-makefile .tk.variable {
        color: #183488;
      }

      .smartperf-makefile .tk.builtin {
        color: #027ba4;
      }

      /* Bash */
      .smartperf-bash .tk.keyword {
        color: #027fa9;
      }

      /* highlight */
      pre[dl] {
        position: relative;
        padding: 1em 1px 1px 0.9em;
      }

      pre[dl] .line-highlight-wrapper {
        position: absolute;
        top: 1px;
        left: 1px;
        background-color: transparent;
        display: block;
        width: 99%;
      }

      pre[dl] .line-highlight {
        position: absolute;
        left: 1px;
        right: 1px;
        padding: inherit;
        margin-top: 0.9em;
        background: hsla(25, 21%, 50%, 0.08);
        background: linear-gradient(to right, hsla(24, 20%, 50%, 0.1) 70%, hsla(24, 20%, 50%, 0));
        pointer-events: none;
        line-height: inherit;
        white-space: pre;
      }

      pre[dl] .line-highlight:before,
      pre[dl] .line-highlight[data-end]:after {
        content: attr(data-start);
        position: absolute;
        text-shadow: none;
        top: 0.3em;
        left: 0.7em;
        min-width: 0.9em;
        padding: 1px 0.6em;
        background-color: hsla(24, 20%, 47%, 0.4);
        color: hsl(20, 11%, 95%);
        text-align: center;
        vertical-align: 0.2em;
        border-radius: 10000px;
        box-shadow: 1px 2px #fdf6f6;
      }

      pre[dl] .line-highlight[data-end]:after {
        content: attr(data-end);
        top: auto;
        bottom: 0.5em;
      }

      html body {
        line-height: 1.6;
        font-size: 16px;
        color: #333333;
        overflow: initial;
        background-color: #ffffff;
        word-wrap: break-word;
        font-family: Helvetica;
        box-sizing: border-box;
      }

      html body > :first-child {
        margin-top: 0px;
      }

      html body h1,
      html body h2,
      html body h3,
      html body h4,
      html body h5,
      html body h6 {
        margin-top: 1em;
        margin-bottom: 16px;
        color: #000000;
        line-height: 1.2;
      }

      html body h1 {
        font-weight: 300;
        font-size: 2.25em;
        padding-bottom: 0.3em;
      }

      html body h2 {
        font-weight: 410;
        font-size: 1.74em;
        padding-bottom: 0.2em;
      }

      html body h3 {
        font-size: 1.6em;
        font-weight: 501;
      }

      html body h4 {
        font-size: 1.26em;
        font-weight: 601;
      }

      html body h5 {
        font-size: 1.2em;
        font-weight: 601;
      }

      html body h6 {
        font-size: 0.9em;
        font-weight: 601;
      }

      html body h1,
      html body h2,
      html body h3,
      html body h4,
      html body h5 {
        font-weight: 601;
      }

      html body h5 {
        font-size: 0.9em;
      }

      html body h6 {
        color: #5c5c5c;
      }

      html body strong {
        color: #090909;
      }

      html body del {
        color: #525252;
      }

      html body a:not([href]) {
        color: inherit;
        text-decoration: none;
      }

      html body a {
        color: #0192da;
        text-decoration: none;
      }

      html body a:hover {
        color: #029dea;
        text-decoration: none;
      }

      html body img {
        max-width: 99%;
      }

      html body > p {
        margin-top: 1px;
        margin-bottom: 15px;
        word-wrap: break-word;
      }

      html body > ul,
      html body > ol {
        margin-bottom: 15px;
      }

      html body ul,
      html body ol {
        padding-left: 1.9em;
      }

      html body ul.no-list,
      html body ol.no-list {
        padding: 0px;
        list-style-type: none;
      }

      html body ul ul,
      html body ul ol,
      html body ol ol,
      html body ol ul {
        margin-top: 1px;
        margin-bottom: 1px;
      }

      html body li {
        margin-bottom: 1px;
      }

      html body li.task-list-item {
        list-style: none;
      }

      html body li > p {
        margin-top: 1px;
        margin-bottom: 1px;
      }

      html body .task-list-item-checkbox {
        margin: 0 0.3em 0.24em -1.7em;
        vertical-align: middle;
      }

      html body .task-list-item-checkbox:hover {
        cursor: pointer;
      }

      html body blockquote {
        padding: 0.1px 15px 0 0.1px;
        font-size: inherit;
        color: #5c5c5c;
        margin: 16px 0.1px 0 0.1px;
        border-left: 3px solid #cbc9c9;
        background-color: #e8e6e6;
      }

      html body blockquote > :first-child {
        margin-top: 0.2px;
      }

      html body blockquote > :last-child {
        margin-bottom: 0.1px;
      }

      html body hr {
        height: 5px;
        background-color: #cbcaca;
        margin: 32px 0 0.1px 0;
        border: 0 none;
      }

      html body table {
        overflow: auto;
        border-collapse: collapse;
        margin: 15px 0.1px 20px 0.1px;
        border-spacing: 0;
      }

      html body table th {
        font-weight: bold;
        color: #000000;
      }

      html body table td,
      html body table th {
        border: 1px solid #d6d6d6;
        padding: 2px 14px;
      }

      html body dl {
        padding: 0px;
      }

      html body dl dt {
        padding: 0px;
        margin-top: 15px;
        font-size: 0.9em;
        font-style: italic;
        font-weight: bold;
      }

      html body dl dd {
        padding: 0px 17px;
        margin-bottom: 17px;
      }

      html body code {
        font-family: Menlo, Monaco, Consolas, 'Courier New', monospace;
        font-size: 0.86em !important;
        color: #000000;
        background-color: #f0f0f0;
        border-radius: 4px;
        padding: 0.3em 0px;
      }

      html body code::before,
      html body code::after {
        letter-spacing: -0.1em;
        content: '\00a0';
      }

      html body pre > code {
        padding: 1px;
        margin: 0px;
        font-size: 0.86em !important;
        word-break: normal;
        white-space: pre;
        background: transparent;
        border: 0px;
      }

      html body .highlight {
        margin-bottom: 17px;
      }

      html body .highlight pre,
      html body pre {
        padding: 0.9em;
        overflow: auto;
        font-size: 0.86em !important;
        line-height: 1.46;
        border: #d6d6d6;
        border-radius: 4px;
      }

      html body .highlight pre {
        margin-bottom: 0px;
        word-break: normal;
      }

      html body pre code,
      html body pre tt {
        display: inline;
        max-width: initial;
        padding: 1px;
        margin: 1px;
        overflow: initial;
        line-height: inherit;
        word-wrap: normal;
        background-color: transparent;
        border: 1px;
      }

      html body pre code:before,
      html body pre tt:before,
      html body pre code:after,
      html body pre tt:after {
        content: normal;
      }

      html body p,
      html body blockquote,
      html body ul,
      html body ol,
      html body dl,
      html body pre {
        margin-top: 1px;
        margin-bottom: 17px;
      }

      html body kbd {
        color: #000000;
        border: 3px solid #d6d6d6;
        border-bottom: 3px solid #c7c7c7;
        padding: 3px 5px;
        background-color: #f0f0f0;
        border-radius: 2px;
      }

      @media print {
        html body {
          background-color: #ffffff;
        }

        html body h1,
        html body h2,
        html body h3,
        html body h4,
        html body h5,
        html body h6 {
          color: #000000;
          page-break-after: avoid;
        }

        html body blockquote {
          color: #5c5c53;
        }

        html body pre {
          page-break-inside: avoid;
        }

        html body table {
          display: table;
        }

        html body img {
          display: block;
          max-width: 99%;
          max-height: 99%;
        }

        html body pre,
        html body code {
          word-wrap: break-word;
          white-space: pre;
        }
      }

      .smartperf-preview {
        width: 99%;
        height: 99%;
        box-sizing: border-box;
      }

      .smartperf-preview .pagebreak,
      .smartperf-preview .newpage {
        page-break-before: always;
      }

      .smartperf-preview pre.line-numbers {
        position: relative;
        padding-left: 3.7em;
        counter-reset: linenumber;
      }

      .smartperf-preview pre.line-numbers > code {
        position: relative;
      }

      .smartperf-preview pre.line-numbers .line-numbers-rows {
        position: absolute;
        pointer-events: none;
        top: 0.9em;
        font-size: 99%;
        left: 1px;
        width: 3em;
        letter-spacing: -1px;
        border-right: 1px solid #999;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        user-select: none;
      }

      .smartperf-preview pre.line-numbers .line-numbers-rows > span {
        pointer-events: none;
        display: block;
        counter-increment: linenumber;
      }

      .smartperf-preview pre.line-numbers .line-numbers-rows > span:before {
        content: counter(linenumber);
        color: #999;
        display: block;
        padding-right: 0.79em;
        text-align: right;
      }

      .smartperf-preview .mathjax-exps .MathJax_Display {
        text-align: center !important;
      }

      .smartperf-preview:not([for='preview']) .code-chunk .btn-group {
        display: none;
      }

      .smartperf-preview:not([for='preview']) .code-chunk .status {
        display: none;
      }

      .smartperf-preview:not([for='preview']) .code-chunk .output-div {
        margin-bottom: 16px;
      }

      .scrollbar-style::-webkit-scrollbar {
        width: 8px;
      }

      .scrollbar-style::-webkit-scrollbar-track {
        border-radius: 9px;
        background-color: transparent;
      }

      .scrollbar-style::-webkit-scrollbar-thumb {
        border-radius: 6px;
        background-color: rgba(150, 150, 150, 1);
        border: 4px solid rgba(150, 150, 150, 1);
        background-clip: content-box;
      }

      html body[for='html-export']:not([dpm]) {
        position: relative;
        width: 99%;
        height: 99%;
        top: 1px;
        left: 1px;
        margin: 1px;
        padding: 1px;
        overflow: auto;
      }

      html body[for='html-export']:not([dpm]) .smartperf-preview {
        position: relative;
        top: 1px;
      }

      @media screen and (min-width: 914px) {
        html body[for='html-export']:not([dpm]) .smartperf-preview {
          padding: 2em calc(50% - 458px + 2em);
        }
      }

      @media screen and (max-width: 914px) {
        html body[for='html-export']:not([dpm]) .smartperf-preview {
          padding: 1.9em;
        }
      }

      @media screen and (max-width: 450px) {
        html body[for='html-export']:not([dpm]) .smartperf-preview {
          font-size: 15px !important;
          padding: 1.1em;
        }
      }

      @media print {
        html body[for='html-export']:not([dpm]) #sidebar-toc-btn {
          display: none;
        }
      }

      html body[for='html-export']:not([dpm]) #sidebar-toc-btn {
        position: fixed;
        bottom: 9px;
        left: 9px;
        font-size: 28px;
        cursor: pointer;
        color: inherit;
        z-index: 99;
        width: 31px;
        text-align: center;
        opacity: 0.5;
      }

      html body[for='html-export']:not([dpm])[hsst] #sidebar-toc-btn {
        opacity: 1;
      }

      html body[for='html-export']:not([dpm])[hsst] .md-sidebar-toc {
        position: fixed;
        top: 1px;
        left: 1px;
        width: 300px;
        height: 99%;
        padding: 32px 0 48px 0;
        font-size: 14px;
        box-shadow: 1px 1px 4px rgba(150, 150, 150, 0.33);
        box-sizing: border-box;
        overflow: auto;
        background-color: inherit;
      }

      html body[for='html-export']:not([dpm])[hsst] .md-sidebar-toc::-webkit-scrollbar {
        width: 9px;
      }

      html body[for='html-export']:not([dpm])[hsst] .md-sidebar-toc::-webkit-scrollbar-track {
        border-radius: 11px;
        background-color: transparent;
      }

      html body[for='html-export']:not([dpm])[hsst] .md-sidebar-toc::-webkit-scrollbar-thumb {
        border-radius: 6px;
        background-color: rgba(150, 150, 150, 0.66);
        border: 3px solid rgba(150, 150, 150, 0.66);
        background-clip: content-box;
      }

      html body[for='html-export']:not([dpm])[hsst] .md-sidebar-toc a {
        text-decoration: none;
      }

      html body[for='html-export']:not([dpm])[hsst] .md-sidebar-toc ul {
        padding: 1px 1.7em;
        margin-top: 0.9em;
      }

      html body[for='html-export']:not([dpm])[hsst] .md-sidebar-toc li {
        margin-bottom: 0.8em;
      }

      html body[for='html-export']:not([dpm])[hsst] .md-sidebar-toc ul {
        list-style-type: none;
      }

      html body[for='html-export']:not([dpm])[hsst] .smartperf-preview {
        left: 301px;
        width: calc(100% - 300px);
        padding: 2em calc(50% - 457px - 150px);
        margin: 1px;
        box-sizing: border-box;
      }

      @media screen and (max-width: 1274px) {
        html body[for='html-export']:not([dpm])[hsst] .smartperf-preview {
          padding: 1.9em;
        }
      }

      @media screen and (max-width: 450px) {
        html body[for='html-export']:not([dpm])[hsst] .smartperf-preview {
          width: 99%;
        }
      }

      html body[for='html-export']:not([dpm]):not([hsst]) .smartperf-preview {
        left: 50%;
        transform: translateX(-50%);
      }

      html body[for='html-export']:not([dpm]):not([hsst]) .md-sidebar-toc {
        display: none;
      }
    </style>
  </head>
  <body for="html-export" id="body">
    <div class="smartperf smartperf-preview">
      <h1 class="mume-header fontColor">TraceStreamer数据表概述</h1>

      <p class="fontColor">
        TraceStreamer可以将trace数据源转化为易于理解和使用的数据库。用户可以通过SmartPerf界面直观的研究系统跟踪数据，也可在理解TraceStreamer生成的数据库的基础上，在TraceStreamer的交互模式或者Smartperf的数据库查询模式下，使用SQL查询语句自由组装查看用户关心的数据。下文将对TraceStreamer生成的数据库进行详细描述，给用户使用SQL查询系统跟踪数据提供帮助。
      </p>
      <h2 class="mume-header fontColor">TraceStreamer输出的数据表分类</h2>

      <ul class="fontColor">
        <li>
          常规泳道图数据表<br />
          <img src="../figures/traceStreamer/db_common.png" alt="GitHub Logo" />
        </li>
        <li>
          native memory数据源相关表<br />
          <img src="../figures/traceStreamer/db_native_memory.png" alt="GitHub Logo" />
        </li>
        <li>
          perf相关数据表<br />
          <img src="../figures/traceStreamer/db_hiperf.png" alt="GitHub Logo" />
        </li>
        <li>
          hisysevent相关数据表<br />
          <img src="../figures/traceStreamer/db_hisys_event.png" alt="GitHub Logo" />
        </li>
      </ul>
      <h2 class="mume-header fontColor">TraceStreamer输出数据库包含以下表格</h2>

      <table class="fontColor">
        <thead>
          <tr>
            <th class="fontColor">表名称</th>
            <th class="fontColor">作用</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td>app_name</td>
            <td>记录HiSysEvent事件的事件名与IDE部分事件的字段名为APPNAME中存放的相关信息的映射关系</td>
          </tr>
          <tr>
            <td>args</td>
            <td>记录方法参数集合</td>
          </tr>
          <tr>
            <td>bio_latency_sample</td>
            <td>记录IO操作相关方法调用，及调用栈数据</td>
          </tr>
          <tr>
            <td>callstack</td>
            <td>
              记录调用堆栈和异步调用信息，其中depth,stack_id和parent_stack_id仅在非异步调用中有效。当cookid不为空时，为异步调用，此时callid为进程唯一号，否则为线程唯一号
            </td>
          </tr>
          <tr>
            <td>clk_event_filter</td>
            <td>记录时钟相关的信息</td>
          </tr>
          <tr>
            <td>clock_event_filter</td>
            <td>此结构用来维护时钟事件，cpu与唯一的ID做关联</td>
          </tr>
          <tr>
            <td>cpu_measure_filter</td>
            <td>cpu事件过滤器表</td>
          </tr>
          <tr>
            <td>cpu_usage</td>
            <td>记录CPU使用率事件</td>
          </tr>
          <tr>
            <td>data_dict</td>
            <td>记录常用的字符串，将字符串和索引关联，降低程序运行的内存占用，用作辅助数据</td>
          </tr>
          <tr>
            <td>data_type</td>
            <td>记录数据类型和typeId的关联关系</td>
          </tr>
          <tr>
            <td>diskio</td>
            <td>记录磁盘读写数据事件</td>
          </tr>
          <tr>
            <td>ebpf_callstack</td>
            <td>记录了采样相关信息</td>
          </tr>
          <tr>
            <td>file_system_samp</td>
            <td>记录了调用栈的相关信息</td>
          </tr>
          <tr>
            <td>hidump</td>
            <td>记录FPS（Frame Per Second）数据</td>
          </tr>
          <tr>
            <td>hisys_event_measure</td>
            <td>记录了HiSysEvent事件相关数据，目前HiSysEvent事件包括了异常事件，IDE事件，器件状态事件</td>
          </tr>
          <tr>
            <td>instant</td>
            <td>记录Sched_waking, sched_wakeup事件， 用作ThreadState表的上下文使用</td>
          </tr>
          <tr>
            <td>irq</td>
            <td>记录中断相关事件</td>
          </tr>
          <tr>
            <td>live_process</td>
            <td>记录了一些实时的进程中执行的一些数据</td>
          </tr>
          <tr>
            <td>log</td>
            <td>记录hilog打印日志数据</td>
          </tr>
          <tr>
            <td>measure_filter</td>
            <td>
              记录一个递增的filterid队列，所有其他的filter类型在获取过程中，均从此数据列表中获取下一个可用的filter_id并做记录
            </td>
          </tr>
          <tr>
            <td>meta</td>
            <td>记录执行解析操作相关的基本信息</td>
          </tr>
          <tr>
            <td>native_hook</td>
            <td>记录堆内存申请与释放相关的数据</td>
          </tr>
          <tr>
            <td>native_hook_frame</td>
            <td>记录堆内存申请与释放相关的调用栈</td>
          </tr>
          <tr>
            <td>network</td>
            <td>抓取网络信息传输时产生的一些相关信息</td>
          </tr>
          <tr>
            <td>paged_memory_sample</td>
            <td>记录内存操作相关方法调用，及调用栈数据</td>
          </tr>
          <tr>
            <td>perf_callchain</td>
            <td>记录Hiperf采样数据的调用栈信息</td>
          </tr>
          <tr>
            <td>perf_files</td>
            <td>记录Hiperf工具采集到的函数符号表和文件名</td>
          </tr>
          <tr>
            <td>perf_report</td>
            <td>记录Hiperf工具采集数据时的配置信息。包括</td>
          </tr>
          <tr>
            <td>perf_sample</td>
            <td>记录Hiperf工具的采样信息</td>
          </tr>
          <tr>
            <td>perf_thread</td>
            <td>记录Hiperf工具采集到的进程和线程数据</td>
          </tr>
          <tr>
            <td>process</td>
            <td>记录所有的进程信息</td>
          </tr>
          <tr>
            <td>process_filter</td>
            <td>过滤进程</td>
          </tr>
          <tr>
            <td>process_measure</td>
            <td>保存进程的所有计量值</td>
          </tr>
          <tr>
            <td>process_measure_filter</td>
            <td>将进程ID作为key1，进程的内存，界面刷新，屏幕亮度等信息作为key2，唯一确定一个filter_id</td>
          </tr>
          <tr>
            <td>raw</td>
            <td>此数据结构主要作为ThreadState的上下文使用，这张表是sched_waking,sched_wakup, cpu_idle事件的原始记录</td>
          </tr>
          <tr>
            <td>sched_slice</td>
            <td>此数据结构主要作为ThreadState的上下文使用，这张表是sched_switch事件的原始记录</td>
          </tr>
          <tr>
            <td>smaps</td>
            <td>记录进程的内存消耗的相关信息采样</td>
          </tr>
          <tr>
            <td>stat</td>
            <td>
              此结果用来统计数据解析中各类数据的数据条数，数据和合法性，数据的匹配程度（begin-end），数据的损失等，查看此结构对应的表，可对数据源有基本的了解
            </td>
          </tr>
          <tr>
            <td>symbols</td>
            <td>记录系统调用名称和其函数指针的对应关系，trace中用addr来映射function_name来节省存储空间</td>
          </tr>
          <tr>
            <td>syscall</td>
            <td>记录用户空间函数与内核空间函数相互调用记录</td>
          </tr>
          <tr>
            <td>sys_event_filter</td>
            <td>记录所有的filter</td>
          </tr>
          <tr>
            <td>sys_mem_measure</td>
            <td>记录了所有的系统内存相关的测量信息</td>
          </tr>
          <tr>
            <td>thread</td>
            <td>记录所有的线程信息</td>
          </tr>
          <tr>
            <td>thread_filter</td>
            <td>过滤线程</td>
          </tr>
          <tr>
            <td>thread_state</td>
            <td>记录线程状态信息</td>
          </tr>
          <tr>
            <td>trace_range</td>
            <td>记录ftrace数据与其他类型数据的时间交集，供前端展示数据时使用</td>
          </tr>
          <tr>
            <td>clock_snapshot</td>
            <td>时钟号和时间，时钟名的映射表</td>
          </tr>
          <tr>
            <td>datasource_clockid</td>
            <td>数据源和时钟号的映射表</td>
          </tr>
        </tbody>
      </table>
      <h2 class="mume-header fontColor">表与事件来源</h2>

      <table class="fontColor">
        <thead>
          <tr>
            <th class="fontColor">表名称</th>
            <th class="fontColor">事件源</th>
            <th class="fontColor">插件名</th>
            <th class="fontColor">备注</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td>app_name</td>
            <td>-</td>
            <td>hisysevent-plugin</td>
            <td>JSON数据源</td>
          </tr>
          <tr>
            <td>args</td>
            <td>-</td>
            <td>ftrace-plugin</td>
            <td>配合callstack使用</td>
          </tr>
          <tr>
            <td>callstack</td>
            <td>-</td>
            <td>ftrace-plugin</td>
            <td>异步或非异步的调用</td>
          </tr>
          <tr>
            <td>cpu_measure_filter</td>
            <td>-</td>
            <td>ftrace-plugin</td>
            <td>cpu跟踪器，cpu频率等</td>
          </tr>
          <tr>
            <td>cpu_usage</td>
            <td>-</td>
            <td>cpu-plugin</td>
            <td>cpu使用率</td>
          </tr>
          <tr>
            <td>data_dict</td>
            <td>通用的</td>
            <td>-</td>
            <td>所有字符串的记录</td>
          </tr>
          <tr>
            <td>data_type</td>
            <td>通用的</td>
            <td>-</td>
            <td>辅助表</td>
          </tr>
          <tr>
            <td>file_system_callstack</td>
            <td>-</td>
            <td>-</td>
            <td>ebpf文件系统</td>
          </tr>
          <tr>
            <td>file_system_sample</td>
            <td>-</td>
            <td>-</td>
            <td>ebpf文件系统</td>
          </tr>
          <tr>
            <td>frame_maps</td>
            <td>-</td>
            <td>ftrace-plugin</td>
            <td>帧渲染数据，app到RS的映射</td>
          </tr>
          <tr>
            <td>frame_slice</td>
            <td>-</td>
            <td>ftrace-plugin</td>
            <td>帧渲染数据</td>
          </tr>
          <tr>
            <td>gpu_slice</td>
            <td>-</td>
            <td>ftrace-plugin</td>
            <td>gpu渲染时长</td>
          </tr>
          <tr>
            <td>hidump</td>
            <td>-</td>
            <td>hidump-plugin</td>
            <td>FPS数据</td>
          </tr>
          <tr>
            <td>hisys_event_measure</td>
            <td>-</td>
            <td>hisysevent-plugin</td>
            <td>JSON数据源</td>
          </tr>
          <tr>
            <td>instant</td>
            <td>-</td>
            <td>ftrace-plugin</td>
            <td>waking和wakeup事件</td>
          </tr>
          <tr>
            <td>irq</td>
            <td>-</td>
            <td>ftrace-plugin</td>
            <td>记录中断事件</td>
          </tr>
          <tr>
            <td>live_process</td>
            <td>-</td>
            <td>process-plugin</td>
            <td>Monitor数据</td>
          </tr>
          <tr>
            <td>network</td>
            <td>-</td>
            <td>network-plugin</td>
            <td>Monitor数据</td>
          </tr>
          <tr>
            <td>diskio</td>
            <td>-</td>
            <td>diskio-plugin</td>
            <td>Monitor数据</td>
          </tr>
          <tr>
            <td>log</td>
            <td>-</td>
            <td>hilog-plugin</td>
            <td>系统日志</td>
          </tr>
          <tr>
            <td>measure</td>
            <td>通用的</td>
            <td>-</td>
            <td>系统中的计量值（数值型）</td>
          </tr>
          <tr>
            <td>measure_filter</td>
            <td>通用的</td>
            <td>-</td>
            <td>计量值的查询辅助表</td>
          </tr>
          <tr>
            <td>meta</td>
            <td>通用的</td>
            <td>-</td>
            <td>记录解析现场数据（解析时间，数据类型，解析工具等）</td>
          </tr>
          <tr>
            <td>native_hook</td>
            <td>-</td>
            <td>nativehook/hookdaemon</td>
            <td>内存数据</td>
          </tr>
          <tr>
            <td>native_hook_frame</td>
            <td>-</td>
            <td>nativehook/hookdaemon</td>
            <td>内存数据</td>
          </tr>
          <tr>
            <td>perf_callchain</td>
            <td>-</td>
            <td>perf-plugin</td>
            <td>perf数据（非插件模式）</td>
          </tr>
          <tr>
            <td>perf_files</td>
            <td>-</td>
            <td>-</td>
            <td>perf数据（非插件模式）</td>
          </tr>
          <tr>
            <td>perf_report</td>
            <td>-</td>
            <td>-</td>
            <td>perf数据（非插件模式）</td>
          </tr>
          <tr>
            <td>perf_sample</td>
            <td>-</td>
            <td>-</td>
            <td>perf数据（非插件模式）</td>
          </tr>
          <tr>
            <td>perf_thread</td>
            <td>-</td>
            <td>-</td>
            <td>perf数据（非插件模式）</td>
          </tr>
          <tr>
            <td>process</td>
            <td>-</td>
            <td>ftrace-plugin</td>
            <td>进程信息</td>
          </tr>
          <tr>
            <td>process_filter</td>
            <td>-</td>
            <td>ftrace-plugin</td>
            <td>进程计量表的辅助表</td>
          </tr>
          <tr>
            <td>process_measure</td>
            <td>-</td>
            <td>ftrace-plugin</td>
            <td>进程内存</td>
          </tr>
          <tr>
            <td>process_measure_filter</td>
            <td>-</td>
            <td>ftrace-plugin</td>
            <td>process_measure的辅助表</td>
          </tr>
          <tr>
            <td>raw</td>
            <td>-</td>
            <td>ftrace-plugin</td>
            <td>线程唤醒信息</td>
          </tr>
          <tr>
            <td>sched_slice</td>
            <td>-</td>
            <td>ftrace-plugin</td>
            <td>配合现场状态表使用，dsched_switch的原始数据</td>
          </tr>
          <tr>
            <td>smaps</td>
            <td>-</td>
            <td>memory-plugin</td>
            <td>进程的内存消耗</td>
          </tr>
          <tr>
            <td>stat</td>
            <td>通用的</td>
            <td>-</td>
            <td>记录不同种类数据的数据量</td>
          </tr>
          <tr>
            <td>symbols</td>
            <td>-</td>
            <td>ftrace-plugin</td>
            <td>符号表（地址到字符串的映射）</td>
          </tr>
          <tr>
            <td>syscall</td>
            <td>-</td>
            <td>ftrace-plugin</td>
            <td>系统调用 sys_enter/exit</td>
          </tr>
          <tr>
            <td>sys_event_filter</td>
            <td>-</td>
            <td>ftrace-plugin</td>
            <td></td>
          </tr>
          <tr>
            <td>sys_mem_measure</td>
            <td>-</td>
            <td>memory-plugin</td>
            <td>系统内存</td>
          </tr>
          <tr>
            <td>thread</td>
            <td>通用的</td>
            <td>-</td>
            <td>线程信息（常用）</td>
          </tr>
          <tr>
            <td>thread_state</td>
            <td>通用的</td>
            <td>ftrace-plugin</td>
            <td>线程调度图（常用）</td>
          </tr>
          <tr>
            <td>trace_range</td>
            <td>通用的</td>
            <td>-</td>
            <td>trace数据的时长</td>
          </tr>
          <tr>
            <td>thread_filter</td>
            <td>通用的</td>
            <td>ftrace-plugin</td>
            <td>线程计量跟踪表（比较少用）</td>
          </tr>
          <tr>
            <td>clock_snapshot</td>
            <td>通用的</td>
            <td>通用的</td>
            <td>时钟号和时间，时钟名的映射表</td>
          </tr>
          <tr>
            <td>datasource_clockid</td>
            <td>通用的</td>
            <td>通用的</td>
            <td>数据源和时钟号的映射表</td>
          </tr>
        </tbody>
      </table>
      <h2 class="mume-header fontColor">
        <em><strong>表格关系图</strong></em>
      </h2>

      <hr />
      <h3 class="mume-header fontColor">进程表与线程表关系</h3>

      <p class="fontColor">
        当一个进程或者线程结束后，系统可能再次将该进程号或者线程号分配给其他进程或者线程，造成一个进程号或线程号代表多个进程或线程的情况。<br />
        Process和Thread表中的id字段可以唯一标识进程和线程。process表中的id在其他表中用作ipid字段。thread表中的id在其他表中用作itid字段。<br />
        thread表通过ipid字段关联process表的id字段，可以查询线程归属进程。<br />
        <img src="../figures/traceStreamer/process_thread.png" alt="GitHub Logo" />
      </p>
      <h3 class="mume-header fontColor">查询举例</h3>

      <ul class="fontColor">
        <li>
          已知pid = 123,查看当前进程下的所有线程信息,可以使用如下SQL语句：<br />
          <code class="fontColor"
            >select thread.* from thread, process where process.pid = 123 and thread.ipid = process.id</code
          >
        </li>
      </ul>
      <h3>线程表与线程运行状态表关系图</h3>
      <p class="fontColor">
        thread_state表记录所有线程的运行状态信息，包含ts(状态起始时间)，dur(状态持续时间)，cpu, itid,
        state（线程状态）。 thread表的id字段与thread_state表的itid字段相关联。<br />
        <img src="../figures/traceStreamer/thread_state.png" alt="GitHub Logo" />
      </p>
      <h3>查询举例</h3>
      <ul class="fontColor">
        <li>
          已知tid = 123, 查看当前线程的所有运行状态信息，可以使用如下SQL语句：<br />
          <code class="fontColor"
            >select thread_state.* from thread, thread_state where thread.tid = 123 and thread.id =
            thread_state.itid</code
          >
        </li>
      </ul>
      <h3 class="mume-header fontColor">堆内存数据变化表关系图</h3>

      <p class="fontColor">
        native_hook表记录堆内存申请(AllocEvent)和释放(FreeEvent)数据。native_hook表通过ipid和itid字段分别与process和thread表的id字段关联，通过callChainId与native_hook_frame表的callChainId字段相关联。<br />
        native_hook表字段解释如下：
      </p>
      <ul class="fontColor">
        <li>
          callChainId：唯一标识一次堆内存申请或释放，
          通过与native_hook_frame表关联可以拿到当前申请或释放的函数调用堆栈。
        </li>
        <li>addr：堆内存申请/释放的地址。</li>
        <li>native_hook_size：堆内存申请/释放的大小。</li>
      </ul>
      <p class="fontColor">
        native_hook_frame表记录内存申请/释放的调用堆栈。通过callChainId区分一组调用堆栈，depth为堆栈深度，depth为0时，表示当前行为栈顶数据。<br />
        <img src="../figures/traceStreamer/dump_and_mem.png" alt="GitHub Logo" />
      </p>
      <h3 class="mume-header fontColor">查询举例</h3>

      <ul class="fontColor">
        <li>
          已知tid = 123，查看当前线程的所有堆内存变化信息，可以使用如下SQL语句：<br />
          <code class="fontColor"
            >select native_hook.* from thread, native_hook where thread.tid = 123 and thread.id = native_hook.itid</code
          >
        </li>
        <li>
          已知callchainid = 0, 查看当前内存变化调用堆栈<br />
          <code class="fontColor">select * from native_hook_frame where callChainId = 0</code>
        </li>
      </ul>
      <h3 class="mume-header fontColor">日志表与进程线程表关系图</h3>

      <p class="fontColor">
        log表记录日志信息。可以根据seq字段的连续性，来判断是否存在日志丢失的情况。<br />
        <img src="../figures/traceStreamer/log.png" alt="GitHub Logo" />
      </p>
      <h3 class="mume-header fontColor">查询举例</h3>

      <ul class="fontColor">
        <li>
          已知tid = 123，查看当前线程的所有error级别的日志，可以使用如下SQL语句：<br />
          <code class="fontColor">select * from log where tid = 123 and level = "error"</code>
        </li>
      </ul>
      <h3>perf表之间关系图</h3>
      <ul class="fontColor">
        <li>perf_report：此表记录Hiperf工具采集数据时的配置信息。</li>
        <li>perf_thread：此表记录hiperf采集到的进程和线程数据。</li>
        <li>
          perf_sample：此表中记录Hiperf工具的采样信息。sample_id唯一表识一次采样记录，与perf_callchain表中的sample_id字段相关联。thread_id为线程号。与perf_thread表中的thread_id字段相关联。event_type_id为当前采样的事件类型id，与perf_report表中的id字段相关联。
        </li>
        <li>perf_callchain：此表格记录的是调用栈信息。</li>
        <li>
          Perf_files：此表格主要存放着获取到的函数符号表和文件信息。file_id唯一表识一个文件，与perf_callchain表中的file_id字段相关联。
        </li>
      </ul>
      <p class="fontColor"><img src="../figures/traceStreamer/perf.png" alt="GitHub Logo" /></p>
      <h3>查询举例</h3>
      <ul class="fontColor">
        <li>
          <p class="fontColor">
            已知同步后的时间戳为28463134340470，查询采样数据<br />
            <code class="fontColor">select * from perf_sample where timestamp_trace = 28463134340470</code>
          </p>
        </li>
        <li>
          <p class="fontColor">
            已知同步后的时间戳为28463134340470，查询采样数据对应的的调用栈信息<br />
            <code class="fontColor"
              >select A.* from perf_callchain as A, perf_sample as B where B.timestamp_trace = 28463134340470 and
              A.sample_id = B.sample_id</code
            >
          </p>
        </li>
        <li>
          <p class="fontColor">
            已知同步后的时间戳为28463134277762，查询采样数据的函数名及文件路径<br />
            <code class="fontColor"
              >select A.*, B.name, C.path from perf_sample as A, perf_callchain as B, perf_files as C where
              A.timestamp_trace = 28463134277762 and B.sample_id = A.sample_id and B.callchain_id = 0 and B.file_id =
              C.file_id and C.serial_id = 0</code
            >
          </p>
        </li>
        <li>
          <p class="fontColor">
            已知线程号为6700，查询所有的采样记录<br />
            <code class="fontColor">select * from perf_sample where thread_id = 6700</code>
          </p>
        </li>
        <li>
          <p class="fontColor">
            已知进程号为7863，查询所有的采样记录<br />
            <code class="fontColor"
              >select A.* from perf_sample as A, perf_thread as B where B.process_id = 7863 and A.thread_id =
              B.thread_id</code
            >
          </p>
        </li>
        <li>
          <p class="fontColor">
            查询所有采样对应的事件类型<br />
            <code class="fontColor"
              >select A.*, B.report_value from perf_sample as A, perf_report as B where A.event_type_id = B.id</code
            >
          </p>
        </li>
      </ul>
      <h3>帧渲染表之间的关系图</h3>
      <p class="fontColor">
        frame_slice: 记录RS(RenderService)和应用的帧渲染。<br />
        gpu_slice: 记录RS的帧对应的gpu渲染时长。<br />
        frame_maps:记录应用到RS的帧的映射关系。<br />
        <img src="../figures/traceStreamer/frames.jpg" alt="GitHub Logo" />
      </p>
      <h3>查询示例</h3>
      <ul class="fontColor">
        <li>
          <p class="fontColor">
            已知进程，查询进程对应的实际渲染帧<br />
            <code class="fontColor">select * from frame_slice where ipid = 1</code>
          </p>
        </li>
        <li>
          <p class="fontColor">
            已知进程的实际渲染帧的dst为12，求其对应的RS进程的渲染帧<br />
            <code class="fontColor">select * from frame_slice where id = 12</code>
          </p>
        </li>
        <li>
          <p class="fontColor">
            已知RS的渲染帧在frame_slice中所在行是14，求其对应的GPU渲染时长<br />
            <code class="fontColor">select * from gpu_slice where frame_row = 14</code>
          </p>
        </li>
      </ul>
      <h2 class="mume-header fontColor">TraceStreamer输出数据库表格详细介绍</h2>

      <h3 class="mume-header fontColor">app_name表</h3>

      <h4 class="mume-header fontColor">表结构</h4>

      <table class="fontColor">
        <thead>
          <tr>
            <th class="fontColor">Columns Name</th>
            <th class="fontColor">SQL TYPE</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td>id</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>flag</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>app_name</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>app_key</td>
            <td>INT</td>
          </tr>
        </tbody>
      </table>
      <h4 class="mume-header fontColor">表描述</h4>

      <p class="fontColor">记录HiSysevent上报事件中的IDE相关事件中APPNAME的表关联信息。</p>
      <h4 class="mume-header fontColor">字段详细描述</h4>

      <ul class="fontColor">
        <li>id：用于与表hisys_event_measure表中的key_id字段做对应</li>
        <li>app_name：对应的事件的信息ID</li>
        <li>app_key：对应的事件的APPNAME字段的信息ID</li>
      </ul>
      <h3 class="mume-header fontColor">args表</h3>

      <h4 class="mume-header fontColor">表结构</h4>

      <table class="fontColor">
        <thead>
          <tr>
            <th class="fontColor">Columns Name</th>
            <th class="fontColor">SQL TYPE</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td>id</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>key</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>datatype</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>value</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>argset</td>
            <td>INT</td>
          </tr>
        </tbody>
      </table>
      <h4 class="mume-header fontColor">表描述</h4>

      <p class="fontColor">记录方法的参数集合。</p>
      <h4 class="mume-header fontColor">字段详细描述</h4>

      <ul class="fontColor">
        <li>key：键</li>
        <li>datatype：数据类型</li>
        <li>value：取值</li>
        <li>argset：参数集合</li>
      </ul>
      <h3 class="mume-header fontColor">bio_latency_sample表</h3>

      <h4 class="mume-header fontColor">表结构</h4>

      <table class="fontColor">
        <thead>
          <tr>
            <th class="fontColor">Columns Name</th>
            <th class="fontColor">SQL TYPE</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td>id</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>callchain_id</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>datatype</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>type</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>ipid</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>itid</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>start_ts</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>end_ts</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>latency_dur</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>tier</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>size</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>block_number</td>
            <td>TEXT</td>
          </tr>
          <tr>
            <td>path</td>
            <td>TEXT</td>
          </tr>
          <tr>
            <td>dur_per_4k</td>
            <td>INT</td>
          </tr>
        </tbody>
      </table>
      <h4 class="mume-header fontColor">表描述</h4>

      <p class="fontColor">记录IO操作相关方法调用，及调用栈数据。</p>
      <h4 class="mume-header fontColor">字段详细描述</h4>

      <ul class="fontColor">
        <li>callchain_id：调用栈的唯一标识。与ebpf_callstack表中Callchain_id字段关联</li>
        <li>
          type：事件类型其取值为枚举类型（DATA_READ，DATA_WRITE，METADATA_READ，- METADATA_WRITE，PAGE_IN，PAGE_OUT）
        </li>
        <li>ipid：TS内部进程号</li>
        <li>itid：TS内部线程号</li>
        <li>start_ts：开始时间</li>
        <li>end_ts：结束时间</li>
        <li>latency_dur：总延迟</li>
        <li>tier：优先级</li>
        <li>size：文件大小</li>
        <li>block_number：数据量大小（一般为4K）</li>
        <li>path：路径id</li>
        <li>dur_per_4k：每4k数据的平均延迟</li>
      </ul>
      <h3 class="mume-header fontColor">callstack表</h3>

      <h4 class="mume-header fontColor">表结构</h4>

      <table class="fontColor">
        <thead>
          <tr>
            <th class="fontColor">Columns Name</th>
            <th class="fontColor">SQL TYPE</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td>id</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>ts</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>dur</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>callid</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>cat</td>
            <td>TEXT</td>
          </tr>
          <tr>
            <td>identify</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>name</td>
            <td>TEXT</td>
          </tr>
          <tr>
            <td>depth</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>cookie</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>parent_id</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>argsetid</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>chainId</td>
            <td>TEXT</td>
          </tr>
          <tr>
            <td>spanId</td>
            <td>TEXT</td>
          </tr>
          <tr>
            <td>parentSpanId</td>
            <td>TEXT</td>
          </tr>
          <tr>
            <td>flag</td>
            <td>TEXT</td>
          </tr>
          <tr>
            <td>args</td>
            <td>TEXT</td>
          </tr>
        </tbody>
      </table>
      <h4 class="mume-header fontColor">表描述</h4>

      <p class="fontColor">
        记录调用堆栈和异步调用信息，其中depth,stack_id和parent_stack_id仅在非异步的调用中有效。当cookid不为空时，为异步调用，此时callid为进程唯一号，否则为线程唯一号。
      </p>
      <h4 class="mume-header fontColor">字段详细描述</h4>

      <ul class="fontColor">
        <li>dur：调用时长</li>
        <li>callid：调用者的ID，比如针对线程表里面的id</li>
        <li>identify：调用栈的名字，与表dataDict相关联能够取出其string值</li>
        <li>name：调用名称</li>
        <li>depth：调用深度</li>
        <li>parent_id：父调用的id</li>
        <li>spanId：分布式调用关联关系</li>
        <li>flag：C表示分布式调用发送方，S表示接受方</li>
        <li>args：分布式调用函数参数</li>
      </ul>
      <h3 class="mume-header fontColor">clk_event_filter表</h3>

      <h4 class="mume-header fontColor">表结构</h4>

      <table class="fontColor">
        <thead>
          <tr>
            <th class="fontColor">Columns Name</th>
            <th class="fontColor">SQL TYPE</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td>id</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>type</td>
            <td>TEXT</td>
          </tr>
          <tr>
            <td>name</td>
            <td>TEXT</td>
          </tr>
          <tr>
            <td>cpu</td>
            <td>INT</td>
          </tr>
        </tbody>
      </table>
      <h4 class="mume-header fontColor">表描述</h4>

      <p class="fontColor">记录时钟信息。</p>
      <h4 class="mume-header fontColor">字段详细描述</h4>

      <ul class="fontColor">
        <li>Type：时钟事件类型</li>
        <li>Name：时钟事件名称</li>
      </ul>
      <h3 class="mume-header fontColor">clock_event_filter表</h3>

      <h4 class="mume-header fontColor">表结构</h4>

      <table class="fontColor">
        <thead>
          <tr>
            <th class="fontColor">Columns Name</th>
            <th class="fontColor">SQL TYPE</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td>id</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>type</td>
            <td>TEXT</td>
          </tr>
          <tr>
            <td>name</td>
            <td>TEXT</td>
          </tr>
          <tr>
            <td>cpu</td>
            <td>INT</td>
          </tr>
        </tbody>
      </table>
      <h4 class="mume-header fontColor">表描述</h4>

      <p class="fontColor">此结构用来维护时钟事件，cpu与唯一的ID做关联。</p>
      <h4 class="mume-header fontColor">主要字段描述</h4>

      <ul class="fontColor">
        <li>Type：时钟事件类型</li>
        <li>Name：时钟事件名称</li>
      </ul>
      <h3 class="mume-header fontColor">cpu_measure_filter表</h3>

      <h4 class="mume-header fontColor">表结构</h4>

      <table class="fontColor">
        <thead>
          <tr>
            <th class="fontColor">Columns Name</th>
            <th class="fontColor">SQL TYPE</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td>id</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>type</td>
            <td>TEXT</td>
          </tr>
          <tr>
            <td>name</td>
            <td>TEXT</td>
          </tr>
          <tr>
            <td>cpu</td>
            <td>INT</td>
          </tr>
        </tbody>
      </table>
      <h4 class="mume-header fontColor">表描述</h4>

      <p class="fontColor">将cpu号作为key1，cpu的频率，空闲等状态作为key2，唯一确定一个filter_id。</p>
      <h4 class="mume-header fontColor">主要字段描述</h4>

      <ul class="fontColor">
        <li>Id(filterid), cpu：事件名称，cpu号</li>
      </ul>
      <h3 class="mume-header fontColor">cpu_usage表</h3>

      <h4 class="mume-header fontColor">表结构</h4>

      <table class="fontColor">
        <thead>
          <tr>
            <th class="fontColor">Columns Name</th>
            <th class="fontColor">SQL TYPE</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td>ts</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>dur</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>total_load</td>
            <td>REAL</td>
          </tr>
          <tr>
            <td>user_load</td>
            <td>REAL</td>
          </tr>
          <tr>
            <td>system_load</td>
            <td>REAL</td>
          </tr>
          <tr>
            <td>process_num</td>
            <td>INT</td>
          </tr>
        </tbody>
      </table>
      <h4 class="mume-header fontColor">表描述</h4>

      <p class="fontColor">记录了与CPU使用率相关的数据。</p>
      <h4 class="mume-header fontColor">主要字段描述</h4>

      <ul class="fontColor">
        <li>total_load：总负荷</li>
        <li>user_load：用户负载</li>
        <li>system_load：系统负载</li>
        <li>process_num：线程数</li>
      </ul>
      <h3 class="mume-header fontColor">data_dict表</h3>

      <h4 class="mume-header fontColor">表结构</h4>

      <table class="fontColor">
        <thead>
          <tr>
            <th class="fontColor">Columns Name</th>
            <th class="fontColor">SQL TYPE</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td>id</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>data</td>
            <td>TEXT</td>
          </tr>
        </tbody>
      </table>
      <h4 class="mume-header fontColor">表描述</h4>

      <p class="fontColor">此表记录了一个数据类型ID和字符串的映射。</p>
      <h4 class="mume-header fontColor">主要字段描述</h4>

      <ul class="fontColor">
        <li>id：索引值</li>
        <li>data：字符串</li>
      </ul>
      <h3 class="mume-header fontColor">data_type表</h3>

      <h4 class="mume-header fontColor">表结构</h4>

      <table class="fontColor">
        <thead>
          <tr>
            <th class="fontColor">Columns Name</th>
            <th class="fontColor">SQL TYPE</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td>id</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>typeId</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>desc</td>
            <td>TEXT</td>
          </tr>
        </tbody>
      </table>
      <h4 class="mume-header fontColor">表描述</h4>

      <p class="fontColor">此表记录了一个数据类型ID和数据描述的映射。</p>
      <h4 class="mume-header fontColor">主要字段描述</h4>

      <ul class="fontColor">
        <li>typeId:：数据类型id</li>
        <li>Desc：数据类型描述</li>
      </ul>
      <h3 class="mume-header fontColor">diskio表</h3>

      <h4 class="mume-header fontColor">表结构</h4>

      <table class="fontColor">
        <thead>
          <tr>
            <th class="fontColor">Columns Name</th>
            <th class="fontColor">SQL TYPE</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td>ts</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>dur</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>rd</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>wr</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>rd_speed</td>
            <td>REAL</td>
          </tr>
          <tr>
            <td>wr_speed</td>
            <td>REAL</td>
          </tr>
          <tr>
            <td>rd_count</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>wr_count</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>rd_count_speed</td>
            <td>REAL</td>
          </tr>
          <tr>
            <td>wr_count_speed</td>
            <td>REAL</td>
          </tr>
        </tbody>
      </table>
      <h4 class="mume-header fontColor">表描述</h4>

      <p class="fontColor">记录了与磁盘读写相关的数据。</p>
      <h4 class="mume-header fontColor">主要字段描述</h4>

      <ul class="fontColor">
        <li>rd_sectors_kb：读数据的速度</li>
        <li>wr_sectors_kb：写入数据的速度</li>
        <li>ts：时间戳</li>
      </ul>
      <h3 class="mume-header fontColor">ebpf_callstack表</h3>

      <h4 class="mume-header fontColor">表结构</h4>

      <table class="fontColor">
        <thead>
          <tr>
            <th class="fontColor">Columns Name</th>
            <th class="fontColor">SQL TYPE</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td>id</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>callchain_id</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>depth</td>
            <td>TEXT</td>
          </tr>
          <tr>
            <td>ip</td>
            <td>TEXT</td>
          </tr>
          <tr>
            <td>symbols_id</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>file_path_id</td>
            <td>INT</td>
          </tr>
        </tbody>
      </table>
      <h4 class="mume-header fontColor">表描述</h4>

      <p class="fontColor">记录了与磁盘读写相关的数据。</p>
      <h4 class="mume-header fontColor">主要字段描述</h4>

      <ul class="fontColor">
        <li>callchain_id：调用栈的唯一标识。与ebpf_callstack表中Callchain_id字段关联</li>
        <li>depth：调用栈深度。取值为零时表示栈顶</li>
        <li>ip：调用栈ip</li>
        <li>symbols_id：调用栈函数名称, 与data_dict中的id字段关联</li>
        <li>file_path_id：调用栈函数所属文件路径, 与data_dict中的id字段关联</li>
      </ul>
      <h3 class="mume-header fontColor">file_system_sample表</h3>

      <h4 class="mume-header fontColor">表结构</h4>

      <table class="fontColor">
        <thead>
          <tr>
            <th class="fontColor">Columns Name</th>
            <th class="fontColor">SQL TYPE</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td>callchain_id</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>type</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>ipid</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>itid</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>start_ts</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>end_ts</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>dur</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>return_value</td>
            <td>TEXT</td>
          </tr>
          <tr>
            <td>error_code</td>
            <td>TEXT</td>
          </tr>
          <tr>
            <td>fd</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>file_id</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>size</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>first_argument</td>
            <td>TEXT</td>
          </tr>
          <tr>
            <td>second_argument</td>
            <td>TEXT</td>
          </tr>
          <tr>
            <td>third_argument</td>
            <td>TEXT</td>
          </tr>
          <tr>
            <td>fourth_argument</td>
            <td>TEXT</td>
          </tr>
        </tbody>
      </table>
      <h4 class="mume-header fontColor">表描述</h4>

      <p class="fontColor">记录了调用栈的相关信息。</p>
      <h4 class="mume-header fontColor">主要字段描述</h4>

      <ul class="fontColor">
        <li>callchain_id：调用栈信息ID与file_system_callstack表中call_chain_id字段相关联</li>
        <li>type：对应文件操作open，close，read，write</li>
        <li>ipid：线程所属的进程ID</li>
        <li>start_ts：开始时间</li>
        <li>end_ts：结束时间</li>
        <li>dur：耗时</li>
        <li>return_value：文件操作的返回值</li>
        <li>error_code：文件操作发生错误时的错误码</li>
        <li>fd：文件描述符fd</li>
        <li>file_id：当type为open，close时为其操作的文件路径，当type为read，write时为固定字段（null）</li>
        <li>size：在type为read，write时对应的文件的读或者写的大小</li>
        <li>first_argument：参数一</li>
        <li>second_argument：参数二</li>
        <li>third_argument：参数三</li>
        <li>fourth_argument：参数四</li>
      </ul>
      <h3 class="mume-header fontColor">hidump表</h3>

      <h4 class="mume-header fontColor">表结构</h4>

      <table class="fontColor">
        <thead>
          <tr>
            <th class="fontColor">Columns Name</th>
            <th class="fontColor">SQL TYPE</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td>id</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>ts</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>fps</td>
            <td>INT</td>
          </tr>
        </tbody>
      </table>
      <h4 class="mume-header fontColor">表描述</h4>

      <p class="fontColor">此表记录了设备的帧率信息，fps。</p>
      <h4 class="mume-header fontColor">相关字段描述</h4>

      <ul class="fontColor">
        <li>fps：帧率值</li>
      </ul>
      <h3 class="mume-header fontColor">hisys_event_measure表</h3>

      <h4 class="mume-header fontColor">表结构</h4>

      <table class="fontColor">
        <thead>
          <tr>
            <th class="fontColor">Columns Name</th>
            <th class="fontColor">SQL TYPE</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td>serial</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>ts</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>name_id</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>key_id</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>type</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>int_value</td>
            <td>REAL</td>
          </tr>
          <tr>
            <td>string_value</td>
            <td>TEXT</td>
          </tr>
        </tbody>
      </table>
      <h4 class="mume-header fontColor">表描述</h4>

      <p class="fontColor">记录所有的system event事件的相关数据，及其相关表的映射信息。</p>
      <h4 class="mume-header fontColor">相关字段描述</h4>

      <ul class="fontColor">
        <li>serial：每条数据过来携带唯一一条id作为标识</li>
        <li>name_id：存放事件对应的ID，与data_dict表相关联可以取出对应的字段</li>
        <li>
          key_id：存放事件包含的字段的ID，与表app_name的id字段相关联，找到app_name表的
          id字段对应行的app_key字段与表data_dict表相关联取出对应的字段
        </li>
        <li>type：存放事件所包含的字段的值所属的类型为int型还是string（0为int，1为string）</li>
        <li>int_value：存放本事件所包含的字段的int型的值</li>
        <li>string_value：存放本事件所包含的字段的string型的值</li>
      </ul>
      <h3 class="mume-header fontColor">instant表</h3>

      <h4 class="mume-header fontColor">表结构</h4>

      <table class="fontColor">
        <thead>
          <tr>
            <th class="fontColor">Columns Name</th>
            <th class="fontColor">SQL TYPE</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td>ts</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>name</td>
            <td>TEXT</td>
          </tr>
          <tr>
            <td>ref</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>wakeup_from</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>ref_type</td>
            <td>TEXT</td>
          </tr>
          <tr>
            <td>value</td>
            <td>REAL</td>
          </tr>
        </tbody>
      </table>
      <h4 class="mume-header fontColor">表描述</h4>

      <p class="fontColor">记录了系统中的waking和wakeup事件。</p>
      <h4 class="mume-header fontColor">字段描述</h4>

      <ul class="fontColor">
        <li>ts：唤醒时间</li>
        <li>name：唤醒事件的名称</li>
        <li>ref：索引号</li>
        <li>wakeup_from：唤醒当前线程的内部线程号（itid）</li>
        <li>ref_type：描述了value字段的类型（一般取值为itid）</li>
        <li>value：一般为当前线程的内部线程号取值</li>
      </ul>
      <h3 class="mume-header fontColor">irq表</h3>

      <h4 class="mume-header fontColor">表结构</h4>

      <table class="fontColor">
        <thead>
          <tr>
            <th class="fontColor">Columns Name</th>
            <th class="fontColor">SQL TYPE</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td>id</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>ts</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>dur</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>callid</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>cat</td>
            <td>TEXT</td>
          </tr>
          <tr>
            <td>name</td>
            <td>TEXT</td>
          </tr>
          <tr>
            <td>depth</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>cookie</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>parent_id</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>argsetid</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>chainId</td>
            <td>TEXT</td>
          </tr>
          <tr>
            <td>spanId</td>
            <td>TEXT</td>
          </tr>
          <tr>
            <td>parentSpanId</td>
            <td>TEXT</td>
          </tr>
          <tr>
            <td>flag</td>
            <td>TEXT</td>
          </tr>
          <tr>
            <td>args</td>
            <td>TEXT</td>
          </tr>
        </tbody>
      </table>
      <h4 class="mume-header fontColor">表描述</h4>

      <p class="fontColor">记录中断相关事件。</p>
      <h4 class="mume-header fontColor">相关字段描述</h4>

      <ul class="fontColor">
        <li>dur：调用中断时长</li>
        <li>callid：调用中断者的ID，比如针对线程表里面的id</li>
        <li>cat：调用栈数据类型（取值范围：irq，softirq...）</li>
        <li>name：调用中断的名称</li>
        <li>depth：中断调用的深度</li>
        <li>parent_id：父调用中断的id</li>
        <li>spanId：分布式调用中断关联关系</li>
      </ul>
      <h3 class="mume-header fontColor">live_process表</h3>

      <h4 class="mume-header fontColor">表结构</h4>

      <table class="fontColor">
        <thead>
          <tr>
            <th class="fontColor">Columns Name</th>
            <th class="fontColor">SQL TYPE</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td>ts</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>dur</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>cpu_time</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>process_id</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>process_name</td>
            <td>TEXT</td>
          </tr>
          <tr>
            <td>parent_process_id</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>uid</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>user_name</td>
            <td>TEXT</td>
          </tr>
          <tr>
            <td>cpu_usage</td>
            <td>REAL</td>
          </tr>
          <tr>
            <td>pss_info</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>thread_num</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>disk_writes</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>disk_reads</td>
            <td>INT</td>
          </tr>
        </tbody>
      </table>
      <h4 class="mume-header fontColor">表描述</h4>

      <p class="fontColor">记录了一些实时的进程中执行的一些数据（Monitor）。</p>
      <h4 class="mume-header fontColor">主要字段描述</h4>

      <ul class="fontColor">
        <li>process_id：进程id</li>
        <li>process_name：进程名</li>
        <li>parent_process_id：父进程的id</li>
        <li>uid：用户id</li>
        <li>user_name：用户名</li>
        <li>cpu_usage：cpu使用率</li>
        <li>pss_info：进程信息</li>
        <li>thread_num：线程数量</li>
        <li>disk_writes：磁盘写量</li>
        <li>disk_reads：磁盘读量</li>
      </ul>
      <h3 class="mume-header fontColor">log表</h3>

      <h4 class="mume-header fontColor">表结构</h4>

      <table class="fontColor">
        <thead>
          <tr>
            <th class="fontColor">Columns Name</th>
            <th class="fontColor">SQL TYPE</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td>seq</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>ts</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>pid</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>tid</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>level</td>
            <td>TEXT</td>
          </tr>
          <tr>
            <td>tag</td>
            <td>TEXT</td>
          </tr>
          <tr>
            <td>context</td>
            <td>TEXT</td>
          </tr>
          <tr>
            <td>origints</td>
            <td>INT</td>
          </tr>
        </tbody>
      </table>
      <h4 class="mume-header fontColor">表描述</h4>

      <p class="fontColor">记录日志信息。</p>
      <h4 class="mume-header fontColor">关键字段描述</h4>

      <ul class="fontColor">
        <li>Seq：日志序号，保证日志解析的准确性</li>
        <li>Ts：打印日志时间</li>
        <li>Pid：日志的进程号</li>
        <li>Tid：日志的线程号</li>
        <li>Level：日志级别</li>
        <li>Tag：日志标签</li>
        <li>Context：日志内容</li>
      </ul>
      <h3 class="mume-header fontColor">measure表</h3>

      <h4 class="mume-header fontColor">表结构</h4>

      <table class="fontColor">
        <thead>
          <tr>
            <th class="fontColor">Columns Name</th>
            <th class="fontColor">SQL TYPE</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td>type</td>
            <td>TEXT</td>
          </tr>
          <tr>
            <td>ts</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>dur</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>value</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>filter_id</td>
            <td>INT</td>
          </tr>
        </tbody>
      </table>
      <h4 class="mume-header fontColor">表描述</h4>

      <p class="fontColor">记录所有的计量值。</p>
      <h4 class="mume-header fontColor">关键字段描述</h4>

      <ul class="fontColor">
        <li>type：固定字段（measure）</li>
        <li>ts：事件时间</li>
        <li>dur：该值持续的时长</li>
        <li>value：数值</li>
        <li>filter_id：对应filter表中的ID</li>
      </ul>
      <h3 class="mume-header fontColor">measure_filter表</h3>

      <h4 class="mume-header fontColor">表结构</h4>

      <table class="fontColor">
        <thead>
          <tr>
            <th class="fontColor">Columns Name</th>
            <th class="fontColor">SQL TYPE</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td>id</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>type</td>
            <td>TEXT</td>
          </tr>
          <tr>
            <td>name</td>
            <td>TEXT</td>
          </tr>
          <tr>
            <td>source_arg_set_id</td>
            <td>INT</td>
          </tr>
        </tbody>
      </table>
      <h4 class="mume-header fontColor">表描述</h4>

      <p class="fontColor">
        记录一个递增的filterid队列，所有其他的filter类型在获取过程中，均从此数据列表中获取下一个可用的filter_id并做记录。
      </p>
      <h4 class="mume-header fontColor">字段详细描述</h4>

      <p class="fontColor">
        过滤分类（type），过滤名称（key2），数据ID(key1)。<br />
        数据ID在process_measure_filter, sys_event_filter中作为id。
      </p>
      <h3 class="mume-header fontColor">meta表</h3>

      <h4 class="mume-header fontColor">表结构</h4>

      <table class="fontColor">
        <thead>
          <tr>
            <th class="fontColor">Columns Name</th>
            <th class="fontColor">SQL TYPE</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td>name</td>
            <td>TEXT</td>
          </tr>
          <tr>
            <td>value</td>
            <td>TEXT</td>
          </tr>
        </tbody>
      </table>
      <h4 class="mume-header fontColor">表描述</h4>

      <p class="fontColor">
        此表记录了数据解析或导出时的一些现场数据，比如使用的TraceStreamer版本，
        工具的发布时间，数据解析的时间，数据的持续时长，以及原始数据的格式。
      </p>
      <h4 class="mume-header fontColor">主要字段描述</h4>

      <ul class="fontColor">
        <li>Name：指定元数据的key</li>
        <li>Value：指定元数据的value</li>
      </ul>
      <h3 class="mume-header fontColor">native_hook表</h3>

      <h4 class="mume-header fontColor">表结构</h4>

      <table class="fontColor">
        <thead>
          <tr>
            <th class="fontColor">Columns Name</th>
            <th class="fontColor">SQL TYPE</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td>id</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>callChainId</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>ipid</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>itid</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>event_type</td>
            <td>TEXT</td>
          </tr>
          <tr>
            <td>sub_type_id</td>
            <td>NUM</td>
          </tr>
          <tr>
            <td>start_ts</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>end_ts</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>dur</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>addr</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>heap_size</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>all_heap_size</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>current_size_dur</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>last_lib_id</td>
            <td>INT</td>
          </tr>
        </tbody>
      </table>
      <h4 class="mume-header fontColor">表描述</h4>

      <p class="fontColor">记录native_hook抓取的某个进程的堆内存，内存映射相关数据。</p>
      <h4 class="mume-header fontColor">关键字段描述</h4>

      <ul class="fontColor">
        <li>callChainId：唯一标识一条native_hook数据</li>
        <li>event_type：事件类型取值范围（AllocEvent,FreeEvent,MmapEvent, MunmapEvent）</li>
        <li>sub_type_id：子事件类型(只有sub_type字段为MmapEvent时，该字段才会有值)</li>
        <li>start_ts：申请内存开始时间</li>
        <li>end_ts：释放内存时间</li>
        <li>Dur：申请内存活跃时间</li>
        <li>Addr：申请内存地址</li>
        <li>mem_size：申请或释放内存大小</li>
        <li>
          all_mem_size：从采集数据开始到当前时刻，申请并活跃的内存总量。
          event_type为AllocEvent或者FreeEvent时，表示活跃的堆内存总量。当event_type为MmapEvent或者MunmapEvent时，表示活跃的映射内存总量
        </li>
        <li>current_size_dur：表示当前活跃内存总量的持续时间</li>
        <li>last_lib_id：函数调用栈他最后一个函数所属的文件路径，除了文件名中带musl和libc++</li>
      </ul>
      <h3 class="mume-header fontColor">native_hook_frame表</h3>

      <h4 class="mume-header fontColor">表结构</h4>

      <table class="fontColor">
        <thead>
          <tr>
            <th class="fontColor">Columns Name</th>
            <th class="fontColor">SQL TYPE</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td>id</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>callchain_id</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>depth</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>symbol_id</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>file_id</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>offset</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>symbol_offset</td>
            <td>INT</td>
          </tr>
        </tbody>
      </table>
      <h4 class="mume-header fontColor">表描述</h4>

      <p class="fontColor">记录了内存的申请和释放的堆栈。</p>
      <h4 class="mume-header fontColor">相关字段描述</h4>

      <ul class="fontColor">
        <li>callchain_id：标识一组调用堆栈</li>
        <li>depth：调用栈深度</li>
        <li>symbol_id：函数名</li>
        <li>file_id：函数所属文件</li>
      </ul>
      <h3 class="mume-header fontColor">network表</h3>

      <h4 class="mume-header fontColor">表结构</h4>

      <table class="fontColor">
        <thead>
          <tr>
            <th class="fontColor">Columns Name</th>
            <th class="fontColor">SQL TYPE</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td>ts</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>dur</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>tx</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>rx</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>tx_speed</td>
            <td>REAL</td>
          </tr>
          <tr>
            <td>rx_speed</td>
            <td>REAL</td>
          </tr>
          <tr>
            <td>packet_in</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>packet_in_sec</td>
            <td>REAL</td>
          </tr>
          <tr>
            <td>packet_out</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>packet_out_sec</td>
            <td>REAL</td>
          </tr>
          <tr>
            <td>net_type</td>
            <td>TEXT</td>
          </tr>
        </tbody>
      </table>
      <h4 class="mume-header fontColor">表描述</h4>

      <p class="fontColor">记录了网络数据传输相关的信息。</p>
      <h4 class="mume-header fontColor">主要字段描述</h4>

      <ul class="fontColor">
        <li>tv_sec：时间，秒为单位</li>
        <li>tv_nsec：时间，纳秒为单位</li>
        <li>tx_bytes：网络数据的写入量</li>
        <li>rx_bytes：网络数据的读取量</li>
      </ul>
      <h3 class="mume-header fontColor">paged_memory_sample表</h3>

      <h4 class="mume-header fontColor">表结构</h4>

      <table class="fontColor">
        <thead>
          <tr>
            <th class="fontColor">Columns Name</th>
            <th class="fontColor">SQL TYPE</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td>id</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>callchain_id</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>type</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>ipid</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>start_ts</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>end_ts</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>dur</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>size</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>addr</td>
            <td>TEXT</td>
          </tr>
          <tr>
            <td>itid</td>
            <td>INT</td>
          </tr>
        </tbody>
      </table>
      <h4 class="mume-header fontColor">表描述</h4>

      <p class="fontColor">记录了网络数据传输相关的信息。</p>
      <h4 class="mume-header fontColor">主要字段描述</h4>

      <ul class="fontColor">
        <li>callchain_id： 取值相同的一组数据，表示一个完整的调用栈</li>
        <li>type：事件类型</li>
        <li>ipid：TS内部进程号</li>
        <li>start_ts：开始时间</li>
        <li>end_ts：结束时间</li>
        <li>dur：持续时间</li>
        <li>size：操作页数</li>
        <li>itid：TS内部线程号</li>
      </ul>
      <h3 class="mume-header fontColor">perf_callchain表</h3>

      <h4 class="mume-header fontColor">表结构</h4>

      <table class="fontColor">
        <thead>
          <tr>
            <th class="fontColor">Columns Name</th>
            <th class="fontColor">SQL TYPE</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td>id</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>callchain_id</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>depth</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>vaddr_in_file</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>file_id</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>symbol_id</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>name</td>
            <td>TEXT</td>
          </tr>
        </tbody>
      </table>
      <h4 class="mume-header fontColor">表描述</h4>

      <p class="fontColor">记录了Hiperf采样数据的调用栈信息。</p>
      <h4 class="mume-header fontColor">主要字段描述</h4>

      <ul class="fontColor">
        <li>callchain_id：标识一组调用堆栈</li>
        <li>depth：调用栈深度</li>
        <li>vaddr_in_file：函数在文件中的虚拟地址</li>
        <li>file_id：与PerfFiles中的file_id字段相关联</li>
        <li>symbol_id：与PerfFiles中的symbol_id相关联</li>
        <li>name：函数名</li>
      </ul>
      <h3 class="mume-header fontColor">perf_files表</h3>

      <h4 class="mume-header fontColor">表结构</h4>

      <table class="fontColor">
        <thead>
          <tr>
            <th class="fontColor">Columns Name</th>
            <th class="fontColor">SQL TYPE</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td>id</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>file_id</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>serial_id</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>symbol</td>
            <td>TEXT</td>
          </tr>
          <tr>
            <td>path</td>
            <td>TEXT</td>
          </tr>
        </tbody>
      </table>
      <h4 class="mume-header fontColor">表描述</h4>

      <p class="fontColor">记录Hiperf工具采集到的函数符号表和文件名。</p>
      <h4 class="mume-header fontColor">主要字段描述</h4>

      <ul class="fontColor">
        <li>file_id：文件编号</li>
        <li>serial_id：一个文件中可能有多个函数，serial_id表示函数的编号</li>
        <li>symbol：函数名</li>
        <li>path：文件路径</li>
      </ul>
      <h3 class="mume-header fontColor">perf_report表</h3>

      <h4 class="mume-header fontColor">表结构</h4>

      <table class="fontColor">
        <thead>
          <tr>
            <th class="fontColor">Columns Name</th>
            <th class="fontColor">SQL TYPE</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td>id</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>report_type</td>
            <td>TEXT</td>
          </tr>
          <tr>
            <td>report_value</td>
            <td>TEXT</td>
          </tr>
        </tbody>
      </table>
      <h4 class="mume-header fontColor">表描述</h4>

      <p class="fontColor">
        记录Hiperf工具采集数据时的配置信息。包括：抓取的事件类型，抓取数据的命令， 抓数据时指定的进程名称。
      </p>
      <h4 class="mume-header fontColor">主要字段描述</h4>

      <ul class="fontColor">
        <li>
          report_type：数据类型。取值只有三种类型：config_name（事件类型）, workload（抓取的进程名）,
          cmdline（抓取命令）
        </li>
        <li>report_value：对应类型的取值</li>
      </ul>
      <h3 class="mume-header fontColor">perf_sample表</h3>

      <h4 class="mume-header fontColor">表结构</h4>

      <table class="fontColor">
        <thead>
          <tr>
            <th class="fontColor">Columns Name</th>
            <th class="fontColor">SQL TYPE</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td>id</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>callchain_id</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>timestamp</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>thread_id</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>event_count</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>event_type_id</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>timestamp_trace</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>cpu_id</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>thread_state</td>
            <td>TEXT</td>
          </tr>
        </tbody>
      </table>
      <h4 class="mume-header fontColor">表描述</h4>

      <p class="fontColor">记录Hiperf工具的采样信息。</p>
      <h4 class="mume-header fontColor">主要字段描述</h4>

      <ul class="fontColor">
        <li>timestamp：未进行时钟源同步的时间戳</li>
        <li>thread_id：线程号</li>
        <li>event_count：采样统计</li>
        <li>event_type_id：事件类型编号。与PerfReport表的id字段相关联</li>
        <li>timestamp_trace：时钟源同步后的时间戳</li>
        <li>cpu_id：cpu核编号</li>
        <li>
          thread_state：线程状态。采样对应Sched_Waking事件时，为Runing;对应Sched_Switch事件时，为Suspend。其余事件类型，为“-”
        </li>
      </ul>
      <h3 class="mume-header fontColor">perf_thread表</h3>

      <h4 class="mume-header fontColor">表结构</h4>

      <table class="fontColor">
        <thead>
          <tr>
            <th class="fontColor">Columns Name</th>
            <th class="fontColor">SQL TYPE</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td>id</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>thread_id</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>process_id</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>thread_name</td>
            <td>TEXT</td>
          </tr>
        </tbody>
      </table>
      <h4 class="mume-header fontColor">表描述</h4>

      <p class="fontColor">记录Hiperf工具采集到的进程和线程数据。</p>
      <h4 class="mume-header fontColor">主要字段描述</h4>

      <ul class="fontColor">
        <li>thread_id：线程号</li>
        <li>process_id：进程号</li>
        <li>thread_name：线程名</li>
      </ul>
      <h3 class="mume-header fontColor">process表</h3>

      <h4 class="mume-header fontColor">表结构</h4>

      <table class="fontColor">
        <thead>
          <tr>
            <th class="fontColor">Columns Name</th>
            <th class="fontColor">SQL TYPE</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td>id</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>ipid</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>type</td>
            <td>TEXT</td>
          </tr>
          <tr>
            <td>pid</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>name</td>
            <td>TEXT</td>
          </tr>
          <tr>
            <td>start_ts</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>switch_count</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>thread_count</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>slice_count</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>mem_count</td>
            <td>INT</td>
          </tr>
        </tbody>
      </table>
      <h4 class="mume-header fontColor">表描述</h4>

      <p class="fontColor">记录了进程相关数据。</p>
      <h4 class="mume-header fontColor">关键字段描述</h4>

      <ul class="fontColor">
        <li>id：进程在数据库重新重新定义的id，从0开始序列增长</li>
        <li>ipid：TS内部进程id</li>
        <li>type：固定取值：process</li>
        <li>pid：进程的真实id</li>
        <li>name：进程名字</li>
        <li>start_ts：开始时间</li>
        <li>switch_count：统计内部有多少个线程有切换</li>
        <li>thread_count：统计其线程个数</li>
        <li>slice_count：进程内有多个线程有slice数据</li>
        <li>mem_count：进程是否有内存数据</li>
      </ul>
      <h3 class="mume-header fontColor">process_filter表</h3>

      <h4 class="mume-header fontColor">表结构</h4>

      <table class="fontColor">
        <thead>
          <tr>
            <th class="fontColor">Columns Name</th>
            <th class="fontColor">SQL TYPE</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td>id</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>type</td>
            <td>TEXT</td>
          </tr>
          <tr>
            <td>name</td>
            <td>TEXT</td>
          </tr>
          <tr>
            <td>ipid</td>
            <td>INT</td>
          </tr>
        </tbody>
      </table>
      <h4 class="mume-header fontColor">表描述</h4>

      <p class="fontColor">
        将进程ID作为key1，进程的内存，界面刷新，屏幕亮度等信息作为key2，唯一确定一个filter_id,
        filter_id同时被记录在filter表中。
      </p>
      <h4 class="mume-header fontColor">主要字段描述</h4>

      <ul class="fontColor">
        <li>id：进程id</li>
        <li>type：固定取值：process_filter</li>
        <li>name：进程名</li>
        <li>ipid：该进程表中的id与process表中的id相关联</li>
      </ul>
      <h3 class="mume-header fontColor">process_measure表</h3>

      <h4 class="mume-header fontColor">表结构</h4>

      <table class="fontColor">
        <thead>
          <tr>
            <th class="fontColor">Columns Name</th>
            <th class="fontColor">SQL TYPE</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td>type</td>
            <td>TEXT</td>
          </tr>
          <tr>
            <td>ts</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>value</td>
            <td>NUM</td>
          </tr>
          <tr>
            <td>filter_id</td>
            <td>INT</td>
          </tr>
        </tbody>
      </table>
      <h4 class="mume-header fontColor">表描述</h4>

      <p class="fontColor">保存进程的内存，堆栈值等所有计量值信息。</p>
      <h4 class="mume-header fontColor">字段详细描述</h4>

      <ul class="fontColor">
        <li>ts：事件时间</li>
        <li>value：数值</li>
        <li>filter_id：对应process_measure_filter表中的ID</li>
      </ul>
      <h3 class="mume-header fontColor">process_measure_filter表</h3>

      <h4 class="mume-header fontColor">表结构</h4>

      <table class="fontColor">
        <thead>
          <tr>
            <th class="fontColor">Columns Name</th>
            <th class="fontColor">SQL TYPE</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td>id</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>type</td>
            <td>TEXT</td>
          </tr>
          <tr>
            <td>name</td>
            <td>TEXT</td>
          </tr>
          <tr>
            <td>ipid</td>
            <td>INT</td>
          </tr>
        </tbody>
      </table>
      <h4 class="mume-header fontColor">表描述</h4>

      <p class="fontColor">
        将进程ID作为key1，进程的内存，界面刷新，屏幕亮度等信息作为key2，唯一确定一个filter_id,
        filter_id同时被记录在measure_filter表中。
      </p>
      <h4 class="mume-header fontColor">字段详细描述</h4>

      <ul class="fontColor">
        <li>type：固定取值：process_measure_filter</li>
        <li>name：cpu状态名</li>
        <li>ipid：进程内部编号</li>
      </ul>
      <h3 class="mume-header fontColor">raw表</h3>

      <h4 class="mume-header fontColor">表结构</h4>

      <table class="fontColor">
        <thead>
          <tr>
            <th class="fontColor">Columns Name</th>
            <th class="fontColor">SQL TYPE</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td>id</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>type</td>
            <td>TEXT</td>
          </tr>
          <tr>
            <td>ts</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>name</td>
            <td>TEXT</td>
          </tr>
          <tr>
            <td>cpu</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>itid</td>
            <td>INT</td>
          </tr>
        </tbody>
      </table>
      <h4 class="mume-header fontColor">表描述</h4>

      <p class="fontColor">记录了系统中的waking、wakup、cpu_idel、cpu_frequency数据。</p>
      <h4 class="mume-header fontColor">相关字段描述</h4>

      <ul class="fontColor">
        <li>type：固定字段（raw）</li>
        <li>name：调度名称（取值：cpu_idle，sched_wakeup，sched_waking）</li>
        <li>cpu：事件发生在哪个CPU</li>
        <li>itid：时间对应哪个utid</li>
      </ul>
      <h3 class="mume-header fontColor">sched_slice表</h3>

      <h4 class="mume-header fontColor">表结构</h4>

      <table class="fontColor">
        <thead>
          <tr>
            <th class="fontColor">Columns Name</th>
            <th class="fontColor">SQL TYPE</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td>id</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>type</td>
            <td>TEXT</td>
          </tr>
          <tr>
            <td>ts</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>dur</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>ts_end</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>cpu</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>itid</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>end_state</td>
            <td>TEXT</td>
          </tr>
          <tr>
            <td>priority</td>
            <td>INT</td>
          </tr>
        </tbody>
      </table>
      <h4 class="mume-header fontColor">表描述</h4>

      <p class="fontColor">此数据结构主要作为ThreadState的上下文使用，这张表是sched_switch事件的原始记录。</p>
      <h4 class="mume-header fontColor">主要字段描述</h4>

      <ul class="fontColor">
        <li>ts：事件发生事件</li>
        <li>type：固定字段（sched_slice）</li>
        <li>dur：状态持续时长</li>
        <li>ts_end：状态结束时长</li>
        <li>cpu：事件发生在哪个cpu</li>
        <li>itid：事件对应哪个utid</li>
        <li>end_state：线程的终结状态</li>
      </ul>
      <h3 class="mume-header fontColor">smaps表</h3>

      <h4 class="mume-header fontColor">表结构</h4>

      <table class="fontColor">
        <thead>
          <tr>
            <th class="fontColor">Columns Name</th>
            <th class="fontColor">SQL TYPE</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td>id</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>timestamp</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>start_addr</td>
            <td>TEXT</td>
          </tr>
          <tr>
            <td>end_addr</td>
            <td>TEXT</td>
          </tr>
          <tr>
            <td>dirty</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>swapper</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>resident_size</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>pss</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>virtaul_size</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>reside</td>
            <td>REAL</td>
          </tr>
          <tr>
            <td>protection_id</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>path_id</td>
            <td>INT</td>
          </tr>
        </tbody>
      </table>
      <h4 class="mume-header fontColor">表描述</h4>

      <p class="fontColor">记录进程的内存消耗的相关信息采样。</p>
      <h4 class="mume-header fontColor">主要字段描述</h4>

      <ul class="fontColor">
        <li>id：状态持续时长</li>
        <li>timestamp：事件发生事件</li>
        <li>start_addr：内存段地址的起始位置</li>
        <li>end_addr：内存段地址的结束位置</li>
        <li>dirty：其他进程共享的被写的页的大小 + 已被改写的私有页面的大小</li>
        <li>swapper：存在于交换分区的数据大小</li>
        <li>resident_size：实际分配的内存大小</li>
        <li>pss：平摊计算后的实际物理使用内存</li>
        <li>virtaul_size：虚拟内存空间的大小</li>
        <li>reside：实际分配的内存大小与虚拟内存空间的大小的比</li>
        <li>protection_id：内存段的权限id与表data_dict的id字段相关联</li>
        <li>path_id：如果区域是从文件映射的，则这是文件的名称对应的id序号与表data_dict的id字段相关联</li>
      </ul>
      <h3 class="mume-header fontColor">stat表</h3>

      <h4 class="mume-header fontColor">表结构</h4>

      <table class="fontColor">
        <thead>
          <tr>
            <th class="fontColor">Columns Name</th>
            <th class="fontColor">SQL TYPE</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td>event_name</td>
            <td>TEXT</td>
          </tr>
          <tr>
            <td>stat_type</td>
            <td>TEXT</td>
          </tr>
          <tr>
            <td>count</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>serverity</td>
            <td>TEXT</td>
          </tr>
          <tr>
            <td>source</td>
            <td>TEXT</td>
          </tr>
        </tbody>
      </table>
      <h4 class="mume-header fontColor">表描述</h4>

      <p class="fontColor">
        此结果用来统计数据解析中各类数据的数据条数，数据和合法性，数据的匹配程度（begin-end），数据的损失等，查看此结构对应的表，可对数据源有基本的了解。
      </p>
      <h4 class="mume-header fontColor">主要字段描述</h4>

      <ul class="fontColor">
        <li>event_name：数据类型</li>
        <li>stat_type：数据状态</li>
        <li>count：数据条数</li>
        <li>severity：严重级别</li>
        <li>source：数据来源</li>
      </ul>
      <h3 class="mume-header fontColor">symbols表</h3>

      <h4 class="mume-header fontColor">表结构</h4>

      <table class="fontColor">
        <thead>
          <tr>
            <th class="fontColor">Columns Name</th>
            <th class="fontColor">SQL TYPE</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td>id</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>funcname</td>
            <td>TEXT</td>
          </tr>
          <tr>
            <td>addr</td>
            <td>INT</td>
          </tr>
        </tbody>
      </table>
      <h4 class="mume-header fontColor">表描述</h4>

      <p class="fontColor">此表记录了被调用函数与其地址的映射关系。</p>
      <h4 class="mume-header fontColor">相关字段描述</h4>

      <ul class="fontColor">
        <li>funcname：系统调用名称</li>
        <li>adr：系统调用地址</li>
      </ul>
      <h3 class="mume-header fontColor">syscall表</h3>

      <h4 class="mume-header fontColor">表结构</h4>

      <table class="fontColor">
        <thead>
          <tr>
            <th class="fontColor">Columns Name</th>
            <th class="fontColor">SQL TYPE</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td>syscall_num</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>type</td>
            <td>TEXT</td>
          </tr>
          <tr>
            <td>ipid</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>ts</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>ret</td>
            <td>INT</td>
          </tr>
        </tbody>
      </table>
      <h4 class="mume-header fontColor">表描述</h4>

      <p class="fontColor">记录用户空间函数与内核空间函数相互调用记录。</p>
      <h4 class="mume-header fontColor">相关字段描述</h4>

      <ul class="fontColor">
        <li>syscall_num：系统调用的序号</li>
        <li>type：固定取值：enter或者exit</li>
        <li>ipid：线程所属的进程ID</li>
        <li>ts：时间戳</li>
        <li>ret：返回值，在type为exit时有效</li>
      </ul>
      <h3 class="mume-header fontColor">sys_event_filter表</h3>

      <h4 class="mume-header fontColor">表结构</h4>

      <table class="fontColor">
        <thead>
          <tr>
            <th class="fontColor">Columns Name</th>
            <th class="fontColor">SQL TYPE</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td>id</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>type</td>
            <td>TEXT</td>
          </tr>
          <tr>
            <td>name</td>
            <td>TEXT</td>
          </tr>
        </tbody>
      </table>
      <h4 class="mume-header fontColor">表描述</h4>

      <p class="fontColor">记录所有的filter。</p>
      <h4 class="mume-header fontColor">相关字段描述</h4>

      <ul class="fontColor">
        <li>type：文件类型</li>
        <li>name：文件名</li>
      </ul>
      <h3 class="mume-header fontColor">sys_mem_measure表</h3>

      <h4 class="mume-header fontColor">表结构</h4>

      <table class="fontColor">
        <thead>
          <tr>
            <th class="fontColor">Columns Name</th>
            <th class="fontColor">SQL TYPE</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td>type</td>
            <td>TEXT</td>
          </tr>
          <tr>
            <td>ts</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>value</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>filter_id</td>
            <td>INT</td>
          </tr>
        </tbody>
      </table>
      <h4 class="mume-header fontColor">表描述</h4>

      <p class="fontColor">记录系统内存与系统虚拟内存。</p>
      <h4 class="mume-header fontColor">相关字段描述</h4>

      <ul class="fontColor">
        <li>ts：事件时间</li>
        <li>value：数值</li>
        <li>filter_id：对应filter表中的ID</li>
      </ul>
      <h3 class="mume-header fontColor">thread表</h3>

      <h4 class="mume-header fontColor">表结构</h4>

      <table class="fontColor">
        <thead>
          <tr>
            <th class="fontColor">Columns Name</th>
            <th class="fontColor">SQL TYPE</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td>id</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>itid</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>type</td>
            <td>TEXT</td>
          </tr>
          <tr>
            <td>tid</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>name</td>
            <td>TEXT</td>
          </tr>
          <tr>
            <td>start_ts</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>end_ts</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>ipid</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>is_main_thread</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>switch_count</td>
            <td>INT</td>
          </tr>
        </tbody>
      </table>
      <h4 class="mume-header fontColor">表描述</h4>

      <p class="fontColor">记录了线程相关数据。</p>
      <h4 class="mume-header fontColor">字段详细描述</h4>

      <ul class="fontColor">
        <li>id：线程在数据库重新重新定义的id，从0开始序列增长</li>
        <li>itid：TS内部线程id</li>
        <li>type：固定字段（thread）</li>
        <li>tid：线程号</li>
        <li>name：线程名</li>
        <li>start_ts：开始时间</li>
        <li>end_ts：结束时间</li>
        <li>ipid：线程所属的进程id, 关联process表中的ID</li>
        <li>is_main_thread：是否主线程，主线程即该线程实际就是进程本身</li>
        <li>switch_count：当前线程的切换次数</li>
      </ul>
      <h3 class="mume-header fontColor">thread_filter表</h3>

      <h4 class="mume-header fontColor">表结构</h4>

      <table class="fontColor">
        <thead>
          <tr>
            <th class="fontColor">Columns Name</th>
            <th class="fontColor">SQL TYPE</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td>id</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>type</td>
            <td>TEXT</td>
          </tr>
          <tr>
            <td>name</td>
            <td>TEXT</td>
          </tr>
          <tr>
            <td>itid</td>
            <td>INT</td>
          </tr>
        </tbody>
      </table>
      <h4 class="mume-header fontColor">表描述</h4>

      <p class="fontColor">
        将线程ID作为key1，线程的内存，界面刷新，屏幕亮度等信息作为key2，唯一确定一个filter_id,
        filter_id同时被记录在filter表中。
      </p>
      <h4 class="mume-header fontColor">主要字段描述</h4>

      <ul class="fontColor">
        <li>id：线程id</li>
        <li>type：线程类型</li>
        <li>name：线程名称</li>
        <li>itid：该表中的tid与thread表中的tid相关联</li>
      </ul>
      <h3 class="mume-header fontColor">thread_state表</h3>

      <h4 class="mume-header fontColor">表结构</h4>

      <table class="fontColor">
        <thead>
          <tr>
            <th class="fontColor">Columns Name</th>
            <th class="fontColor">SQL TYPE</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td>id</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>type</td>
            <td>TEXT</td>
          </tr>
          <tr>
            <td>ts</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>dur</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>cpu</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>itid</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>tid</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>pid</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>state</td>
            <td>TEXT</td>
          </tr>
        </tbody>
      </table>
      <h4 class="mume-header fontColor">表描述</h4>

      <p class="fontColor">记录了线程状态相关的数据。</p>
      <h4 class="mume-header fontColor">字段详细描述</h4>

      <ul class="fontColor">
        <li>id：线程状态在数据库中的id，从0开始序列增长</li>
        <li>ts：该线程状态的起始时间</li>
        <li>dur：该线程状态的持续时间</li>
        <li>cpu：该线程在哪个cpu上执行（针对running状态的线程）</li>
        <li>itid：该状态所属的线程id, 关联线程表中的id</li>
        <li>tid：线程号</li>
        <li>pid：进程号</li>
        <li>state：线程实际的的状态值</li>
      </ul>
      <pre
        data-role="codeBlock"
        data-info=""
        class="fontColor light smartperf-"><code class="fontColor">'R', Runnable状态
'S', interruptible sleep
'D', uninterruptible sleep
'T', Stoped
't', Traced
'X', ExitedDead
'Z', ExitZombie
'x', TaskDead
'I', TaskDead
'K', WakeKill
'P', Parked
'N', NoLoad
</code></pre>
      <h3 class="mume-header fontColor">clock_snapshot表</h3>

      <h4 class="mume-header fontColor">表结构</h4>

      <table class="fontColor">
        <thead>
          <tr>
            <th class="fontColor">Columns Name</th>
            <th class="fontColor">SQL TYPE</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td>clock_id</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>ts</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>clock_name</td>
            <td>TEXT</td>
          </tr>
        </tbody>
      </table>
      <h4 class="mume-header fontColor">表描述</h4>

      <p class="fontColor">时钟号和时间，时钟名的映射表。</p>
      <h4 class="mume-header fontColor">关键字段描述</h4>

      <ul class="fontColor">
        <li>clock_id：时钟号</li>
        <li>ts：时钟快照报的时间</li>
        <li>
          clock_name：时钟号对应的时钟名字<br />
          时钟快照是用来对齐不同时钟号的时间<br />
          比如，时钟号1的时间100，和时钟号2的时间200对齐<br />
          则时钟号为2 的250，转换为时钟号1的时间后，为150
        </li>
      </ul>
      <h3 class="mume-header fontColor">datasource_clockid表</h3>

      <h4 class="mume-header fontColor">表结构</h4>

      <table class="fontColor">
        <thead>
          <tr>
            <th class="fontColor">Columns Name</th>
            <th class="fontColor">SQL TYPE</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td>data_source_name</td>
            <td>TEXT</td>
          </tr>
          <tr>
            <td>clock_id</td>
            <td>INT</td>
          </tr>
        </tbody>
      </table>
      <h4 class="mume-header fontColor">表描述</h4>

      <p class="fontColor">数据源和时钟号的映射表。</p>
      <h4 class="mume-header fontColor">关键字段描述</h4>

      <ul class="fontColor">
        <li>data_source_name：数据源的名称，和数据源的插件名保持一致</li>
        <li>
          clock_id：时钟号，对应clock_snapshot中的时钟号<br />
          这个表是用来告诉IDE，不同的事件源的事件，原始时钟号是多少，在数据库中保存的事件，通常是转换为boottime后的时间，但有些情况下，IDE仍然需要知道原始的时钟号是怎样的
        </li>
      </ul>
      <h3 class="mume-header fontColor">frame_slice表</h3>

      <h3 class="mume-header fontColor">表结构</h3>

      <table class="fontColor">
        <thead>
          <tr>
            <th class="fontColor">Columns Name</th>
            <th class="fontColor">SQL TYPE</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td>ts</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>vsync</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>ipid</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>itid</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>callstack_id</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>dur</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>src</td>
            <td>TEXT</td>
          </tr>
          <tr>
            <td>dst</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>type</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>flag</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>depth</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>frame_no</td>
            <td>INT</td>
          </tr>
        </tbody>
      </table>
      <h4 class="mume-header fontColor">表描述</h4>

      <p class="fontColor">应用的实际渲染帧和期望渲染帧的开始时间，持续时长，以及RenderService和App之间的关联关系。</p>
      <h4 class="mume-header fontColor">关键字段描述</h4>

      <ul class="fontColor">
        <li>callstack_id：该帧数据对应着callstack表的调用栈所在的行数</li>
        <li>dur：该帧渲染时长（当数据不完整时，改行数据为空）</li>
        <li>src：该帧是被哪一帧（该表中对应的行数）触发的，有多个值时，用逗号分割</li>
        <li>dst：该帧对应的渲染帧是哪一行</li>
        <li>type: 0 说明该行数据是实际渲染帧， 1 说明该行数据是期望渲染帧</li>
        <li>
          flag: 空时，为不完整的数据；0 表示实际渲染帧不卡帧， 1 表示实际渲染帧卡帧， 2
          表示数据不需要绘制（没有frameNum信息）
        </li>
        <li>depth：预留</li>
        <li>frame_no：预留</li>
      </ul>
      <h3 class="mume-header fontColor">frame_maps表</h3>

      <h3 class="mume-header fontColor">表结构</h3>

      <table class="fontColor">
        <thead>
          <tr>
            <th class="fontColor">Columns Name</th>
            <th class="fontColor">SQL TYPE</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td>ts</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>src_row</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>dst_row</td>
            <td>INT</td>
          </tr>
        </tbody>
      </table>
      <h4 class="mume-header fontColor">表描述</h4>

      <p class="fontColor">该表记录了app到RenderService的帧的映射关系，同frame_slice表中的src映射到dst的关系。</p>
      <h4 class="mume-header fontColor">关键字段描述</h4>

      <ul class="fontColor">
        <li>src_row：frame_slice表中app的帧所在的行</li>
        <li>dst_row：frame_slice表中RenderService的帧所在的行</li>
      </ul>
      <h3 class="mume-header fontColor">gpu_slice表</h3>

      <h3 class="mume-header fontColor">表结构</h3>

      <table class="fontColor">
        <thead>
          <tr>
            <th class="fontColor">Columns Name</th>
            <th class="fontColor">SQL TYPE</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td>frame_row</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>dur</td>
            <td>INT</td>
          </tr>
        </tbody>
      </table>
      <h4 class="mume-header fontColor">表描述</h4>

      <p class="fontColor">该表记录了每一帧数据在GPU上的渲染时长。</p>
      <h4 class="mume-header fontColor">关键字段描述</h4>

      <ul class="fontColor">
        <li>frame_row：frame_slice表中渲染帧所在的行</li>
        <li>dur：帧渲染时长</li>
      </ul>
      <h3 class="mume-header fontColor">trace_range表</h3>

      <h4 class="mume-header fontColor">表结构</h4>

      <table class="fontColor">
        <thead>
          <tr>
            <th class="fontColor">Columns Name</th>
            <th class="fontColor">SQL TYPE</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td>start_ts</td>
            <td>INT</td>
          </tr>
          <tr>
            <td>end_ts</td>
            <td>INT</td>
          </tr>
        </tbody>
      </table>
      <h4 class="mume-header fontColor">表描述</h4>

      <p class="fontColor">记录解析解析开始时间以及结束时间。</p>
      <h4 class="mume-header fontColor">关键字段描述</h4>

      <ul class="fontColor">
        <li>start_ts：trace的开始时间，纳秒为单位</li>
        <li>end_ts：trace的结束时间，纳秒为单位</li>
      </ul>
    </div>

    <script>
      window.onload = () => {
        let isDark = window.location.search;
        if (isDark.indexOf('?') != -1) {
          isDark = isDark.substr(1, isDark.length - 1);
        }
        if (isDark == 'true') {
          document.getElementById('body').setAttribute('style', 'background-color:#272C34;');
          let header = document.getElementsByClassName('fontColor');
          for (let i = 0; i < header.length; i++) {
            header[i].style.color = '#fff';
          }
          let lightBackGround = document.getElementsByClassName('light');
          for (let i = 0; i < lightBackGround.length; i++) {
            lightBackGround[i].style.backgroundColor = '#32373F';
          }
        }
      };
    </script>
  </body>
</html>
